#============================================
#知识点
#1.函数递归就是循环使用一段代码。分为直接递归和间接递归(最多递归1000次).python中没有递归优化的方法。
#2.递归不应该一直调用下去，必须再满足某种需求后结束递归调用
#3.递归俩个阶段1.回溯:一层一层调用下去2.递推：满足某种结束条件，结束递归调用，一层一层返回
#4.主要用于重复用这一块代码，把它放进函数里面递归
#============================================
# 列子1
# def qwq():
#     print("qwq") 
#     qwq()
# qwq()  
# # 列子2
# def qwq1():
#     print("1")
#     qwq2()

# def qwq2():
#     print("2")
#     qwq1()
# qwq1()
# 列子2
# def qwq(n):
#     if n ==20:
#         return
#     print(n)
#     n+=1
#     qwq(n)
# qwq(0)
#============================================
# def age(n):
#     if n == 1:
#         return 18
#     return age(n-1)+10
# s=age(10)
# print(s)
#============================================
lis = [1,[2,[3,[4,[5,[6,[7,]]]]]]]
def qwq(ls):
    for i in ls:
        if type(i) is list:
            qwq(i)     #此处需要再次调用for循环这个整体,所以需要递归来实现
        else:
            print(i)
qwq(lis)
#============================================
